Sequence Editor

Use the Sequence Editor tab to build and edit sequences that you can run during a SOLIS simulation. SOLIS executes sequences as FlightJAS files that are either created by automatically converting *.seqs to *.fj or written directly with the Raw Sequence Editor.

Sequences are stored in the "seqs" directory of the satellite and use XML syntax.

Sequence Editor GUI

Sequence Library

The left side of page contains the Sequence Library where you can select a sequence to edit. Under the Sequence Library there are five buttons to manipulate entire sequences:

Button Description
Add Adds a new sequence.
Copy Copies an existing sequence.
Delete Deletes an existing sequence.
Edit Renames a sequence
Save Saves the selected sequence.
When renaming a sequence, if the name is the same as another, the other sequence will be overwritten by the sequence you are editing.

Modifying sequences

The right side of the Sequence Editor tab contains the sequence being edited. The upper half of this interface contains the functions for entry management; the lower half contains the details for management of the currently selected entry.

Button Description
Move Up Moves an entry down one row in the list.
Move Down Moves an entry up one row in the list.
Add Inserts a new entry after the currently selected entry.
Copy Copies the selected entry line(s) (Ctrl-C).
Paste Pastes the selected entry line(s) (Ctrl-V).
Delete Deletes the selected entry.

When inserting a new entry, you can select the type of entry from the dropdown menu.

Sequence Type Description
Spacecraft Command This is for general spacecraft commands.
Embed Sequence This type of command translates to a specific spacecraft command to start another sequence. It also lets you manage complex nested sequences from the Sequence Editor tab.
Raw Code This is the raw code section for inserting block of FlightJAS commands within the Sequence Editor. It is useful when implementing commands that are not accessible in the Sequence Editor.
Comment This is a comment entry for documenting the flow of the sequences.
Spacecraft commands

When you select Spacecraft Command in the Entry Display, the Spacecraft Command setup control dialog box appears. From here, you can filter and select spacecraft commands. When there are parameters for a selected mode, they appear in the window, and you can update their values.

The Command and Telemetry Databases are automatically updated based on the configuration of the spacecraft.

Sequence Editor Commands

In the example command above, MDC_SLEW_TRACK, the slew time is the first argument. If the slew time entered is shorter than what the agility of the spacecraft can handle, the Flight Software will compute the optimal slew time and execute it. The resulting slew time then appears in the Output/Error tab of the Run Status Window.
Embed Sequences

Embedded sequences provide the functionality to nest sequences within one another. An embedded sequence can start at either a relative or absolute time. Embedded sequences can be executed in two different ways:

  • In series:
    • The sequence is called.
    • The calling sequence is paused until after the called sequence completes.
  • In parallel:
    • The sequence is spawned.
    • The spawning sequences continues running simultaneously as the spawned sequence.

Whether a sequence is called or spawned, it can be done so in a recursive manner, providing a simple looping construct.

Any time a sequence is kicked off from within another sequence, the two sequences run independently of each other.

Embedded Sequences

Sequence Command Parameters

ParameterDescriptionUnits
Sequence NameSelected sequence to start.N/A
Sequence TypeEither Series (Sequential Execution) or Parallel (Simultaneous Execution).N/A
Time TypeEither Absolute or Relative.N/A
Execution Delay/TimeEither absolute Date or Relative Time in number of seconds.Date or s
Times To CallNumber of times to loop call to sequence.N/A

Consider an example sequence with:

  • Duration of 16 seconds
  • Embedded in series
  • Relative execution delay of 5 seconds
  • Called four times

The total duration of this command would be (5 + 16) * 4 = 84 seconds before the calling sequence would continue. If this same setup were called in parallel, the spawning sequence would continue on the very next frame.

Raw Code

The Raw Code entry is used to add raw FlightJAS to a command sequence. This method enables some commands that are not available when using the Raw Sequence Editor.

Sequence Raw Code

Raw Code Sections

SectionDescription
Variable DeclarationsThis section is where variables of the code are declared. The available types are: BOOLEAN, INT, REAL, DATE, and TIME.
CodeThis section is where FlightJAS code is written.
Comment

The Comment entry is used to comment the sequence. It is useful to describe the intent of the other entries in the sequence.

Time Editor

Sequence Time Editor

The Time Editor gives you three ways of changing the time that a command executes in a sequence:

Option Description
Time from Sequence Start Enables you to adjust the absolute execution time of the command. In the event that the value entered would put it before the previous command, the time is ignored and resets to what it was before the editing took place.
Time from Previous Start Enter the time from the start of the previous command.
Time From Previous End Enter the time from the end of the previous command. The time from previous must always be nonnegative. If you enter a negative value, it will revert to the previous positive value.

Changing any one of the time fields causes the other two to update automatically as you type.